package com.example.rbacmanage.service;

import com.example.rbacmanage.exception.MyException;
import com.example.rbacmanage.vo.CodegenPreviewVO;
import com.example.rbacmanage.vo.TablePageQuery;
import com.example.rbacmanage.vo.TablePageVO;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;

import java.util.List;

//代码生成配置接口
public interface CodegenService {
    /**
     * 获取数据表分页列表
     *
     * @param queryParams 查询参数
     * @return
     */
    PageInfo<TablePageVO> getTablePage(TablePageQuery queryParams);

    /**
     * 获取预览生成代码
     *
     * @param tableName 表名
     * @return
     */
    List<CodegenPreviewVO> getCodegenPreviewData(String tableName) throws MyException;

    /**
     * 下载代码
     * @param tableNames 表名
     * @return
     */
    byte[] downloadCode(String[] tableNames) throws MyException;
}
